import Vue from 'vue';
import Vuex from 'vuex';
import * as actions from './actions'
import * as mutations from './mutations'
import user from './modules/loginuser';
import menu from './modules/menu';
import visible from './modules/visible';

Vue.use(Vuex)

export default new Vuex.Store({
  /**
   * store 分割成模块（module）, 每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块
   */
  modules: {
    /**
     * 对于模块内部的 mutation 和 getter，接收的第一个参数是模块的局部状态对象
     */
    user: user,
    menu: menu,
    visible: visible
  },
  actions,
  mutations
})